package top.bug.blog.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import top.bug.blog.entity.dto.category.CategoryAddRequest;
import top.bug.blog.entity.dto.category.CategoryQueryRequest;
import top.bug.blog.entity.dto.category.CategoryUpdateRequest;
import top.bug.blog.entity.dto.common.BatchRequest;
import top.bug.blog.entity.dto.common.OrderModRequest;
import top.bug.blog.entity.po.Category;

import java.util.List;

/**
 * @author <a href="https://github.com/jiusi66">九思.</a>
 * @email 10837907@qq.com
 * @from <a href="https://www.52bug.top">递归茶馆-www.52bug.top</a>
 * @description 分类 接口
 */
public interface CategoryService extends IService<Category> {

    /**
     * 获取列表
     */
    Page<Category> getList(CategoryQueryRequest queryRequest);

    /**
     * 获取所有分类
     */
    List<Category> getAllCategory();

    /**
     * 新增分类
     */
    Boolean add(CategoryAddRequest addRequest);

    /**
     * 编辑分类
     */
    Boolean edit(CategoryUpdateRequest updateRequest);

    /**
     * 批量删除
     */
    Boolean delete(BatchRequest batchRequest);

    /**
     * 修改排序
     */
    Boolean editOrder(OrderModRequest orderModRequest);

    /**
     * 获取所有状态正常的分类集合
     */
    List<Category> getAllEnableCategory();
}